#!/usr/bin/env node

//定义一个对象
const user = {
  name: '刘锦涛',
  age: 20,
  qq: 2833179565
};

//使用六种占位符，分别输出四种变量类型：字符串，整数（两种），浮点数和对象（两种）
console.log('字符串: %s', user.name);
console.log('整数： %d', user.age);
console.log('浮点数：%f', 3.14159);
console.log('对象：%o', user);

//使用四种不同的方式输出字符串信息
console.log('直接输出：', user.name);
console.log('%s %d', user.name, user.age);
console.log(`模板字符串输出：${user.name}`);
console.log(`模板字符串(ES6): ${user.name},${user.age}`);

//用conso的dir方法输出对象和对象的数组
console.dir(user);
const users = [user, { name: '刘锦涛', age: 20, qq: 2833179565 }];
console.dir(users);

//用console的dir方法输出层次较深的对象(对象中还包含着对象)
const deepObject = {
  name: '普雨璐',
  age: 20,
  qq: 2667839448,
  weChat: {
    number: 15969319604
  }
};
console.dir(deepObject);

//用console的table方法输出对象和对象的数组，观察index列的区别
console.log('对象：');
console.table(user);
console.log('对象的数组：')
console.table(users);

//用console的table方法输出对象数组的某些字段
console.table(users, ['name', 'age']);

//向标准错误流中输出信息：Error:something wrong!
console.error('Error:something wrong!');

//通过命令行重定向，观察console的log和error两个方法所使用的流的区别
console.log('This is a stdout');
console.error('This is a stderr');


